#pragma once
#include <d3d11.h>


class QD3DResourcePack
{
public:
	enum View
	{
		NONE = 0, SRV = 1, UAV = 2, ALL = 0xFFFFFFFF
	};
	QD3DResourcePack (ID3D11Resource *pDxRes, UINT defaultCreateViews = ALL);
	~QD3DResourcePack ();

	ID3D11Resource *getRes ();
	void setSRV (ID3D11ShaderResourceView *pDxSRV);
	ID3D11ShaderResourceView *getSRV ();
	void setUAV (ID3D11UnorderedAccessView *pDxUAV);
	ID3D11UnorderedAccessView *getUAV ();

private:
	ID3D11Resource *_pDxRes;
	ID3D11ShaderResourceView *_pDxSRV;
	ID3D11UnorderedAccessView *_pDxUAV;
};

